When a media player application is first released, it has a limited number of supported or native file formats. It is not feasible for a media player application to natively support all file types, codecs, and Digital Rights Management (DRM) schemes. Further, the media player application does not support different file types, codecs, and DRM schemes developed after the release of the media player application.
To overcome this limitation, media player application developers have provided Application Program Interface specifications (API's) that allow third-party developers to interface with the media player. When a file of a certain type is selected for rendering by the media player, the software from the third-party developer is called to render the contents of the file. In this method, the file may be unreadable, metadata may not be available, a codec compatible with the media player may not be available, or the media player may not recognize the DRM scheme.